﻿Imports System.Net

Public Class frmPrincipal

    Const localFile As String = "C:\myfile.bin"
    Const remoteFile As String = "/pub/myftpfile.bin"
    Const host As String = "ftp://localhost/"
    Const username As String = "victor"
    Const password As String = "root"

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

    End Sub

    Public Function creaDirectorio(ByVal dir As String) As String
        Dim peticionFTP As FtpWebRequest

        ' Creamos una peticion FTP con la dirección del directorio que queremos crear
        peticionFTP = CType(WebRequest.Create(New Uri(dir)), FtpWebRequest)

        ' Fijamos el usuario y la contraseña de la petición
        peticionFTP.Credentials = New NetworkCredential(username, password)

        ' Seleccionamos el comando que vamos a utilizar: Crear un directorio
        peticionFTP.Method = WebRequestMethods.Ftp.MakeDirectory

        Try
            Dim respuesta As FtpWebResponse
            respuesta = CType(peticionFTP.GetResponse(), FtpWebResponse)
            respuesta.Close()
            ' Si todo ha ido bien, se devolverá String.Empty
            Return String.Empty
        Catch ex As Exception
            ' Si se produce algún fallo, se devolverá el mensaje del error
            Return ex.Message
        End Try
    End Function


    Private Sub verificar()
        Dim peticionFTP As FtpWebRequest
        ' Creamos una peticion FTP con la dirección del objeto que queremos saber si existe
        peticionFTP = CType(WebRequest.Create(New Uri(host)), FtpWebRequest)
        ' Fijamos el usuario y la contraseña de la petición
        peticionFTP.Credentials = New NetworkCredential(username, password)
        'Para saber si el objeto existe, solicitamos la fecha de creación del mismo
        peticionFTP.Method = WebRequestMethods.Ftp.PrintWorkingDirectory
        peticionFTP.UsePassive = False
        Try
            Dim respuestaFTP As FtpWebResponse
            respuestaFTP = CType(peticionFTP.GetResponse(), FtpWebResponse)
            MsgBox(WebRequestMethods.Ftp.ListDirectory)
        Catch ex As Exception
            MsgBox("No existe")
        End Try
    End Sub

    Private Sub btnConectar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConectar.Click
        'MessageBox.Show(creaDirectorio(host))
        'verificar()
        Dim con As New ConexionFTP("localhost", "victor", "root", "21")
        Dim lista As New List(Of String)
        lista.AddRange(con.ListFiles("/Carpeta/"))

        For i As Integer = 0 To lista.Count - 1 Step 1
            lstLista.Items.Add(lista.Item(i))
        Next
    End Sub
End Class
